package com.cy.store.service;

import com.cy.store.entity.User;

/**
 * 用户模块业务接口(interface)
 */
public interface IUserService {


    /**
     * 用户注册
     * @param user 用户数据
     */
    void reg(User user);

    /**
     * 用户登录功能
     * @param username 用户名
     * @param password 用户的密码
     * @return 匹配当前的用户数据，如果没有则返回null
     */
    User login(String username, String password);

    void changePassword(Integer uid, String username, String oldPassword, String newPassword);

    /**
     * 根据用户的id查询用户的数据
     * @param uid
     * @return 用户的数据
     */
    User getByUid(Integer uid);

    /**
     * 修改用户资料
     * @param uid 当前登录的用户的id
     * @param username 当前登录的用户名
     * @param user 用户的新的数据
     */
    void changeInfo(Integer uid, String username, User user);

    /**
     * 更新用户的头像
     * @param uid 根据uid查询
     * @param avatar 图像的地址
     * @param username
     */
    void updateAvatarByUid(Integer uid, String avatar, String username);
}
